The present invention relates to storage area networks. More particularly, it relates to virtual storage area networks (VSANs) and routing between different VSANs.
With the increasing popularity of Internet commerce and network centric computing, businesses and other organizations are becoming more and more reliant on information. To handle all of this data, storage area networks or SANs have become very popular. A SAN typically includes a number of storage devices, a plurality of hosts, and a number of Switches arranged in a switching fabric that connects the storage devices and the hosts.
Most SANs rely on the Fibre Channel protocol for communication within the Fabric. For a detailed explanation of the Fibre Channel protocol and Fibre Channel switching fabrics and services, see the Fibre Channel Framing and Signaling Standard, Rev 1.70, American National Standard of Accredited Standards Committee (NCITS), Feb. 8, 2002, and the Fibre Channel Switch Fabric-2, Rev. 5.4, NCITS, Jun. 26, 2001, and the Fibre Channel Generic Services-3, Rev. 7.01, NCITS, Nov. 28, 2000, all incorporated by reference herein for all purposes.
In Fibre Channel, each device (hosts, storage devices and switches) is identified by a globally unique, eight (8) byte wide World Wide Name (WWN) assigned by the manufacturer. When the Fibre Channel devices are interconnected to form a SAN, the WWN (along with other parameters) is the primary mechanism to identify each device. Fibre Channel frames are used for communication among the devices in the SAN. The WWN, however, is not used by the frames. Each device must login to the FC network and is then dynamically assigned a unique Fibre Channel address (FCID) by the Fabric. The FCID is used in FC networks for end devices to communicate with each other.
The three byte wide FCID is hierarchically structured into three fields, each one byte long: Domain_ID, Area_ID, and Port_ID. Each switch within the Fabric is assigned a Domain_ID. The end devices attached to a particular switch are assigned the Domain_ID of that switch. The switch manages the allocation of the Area_ID and Port_ID fields for each end device to guarantee the uniqueness of the assigned addresses in that Domain. For example, if a switch is assigned a Domain number five and the switch subdivides its address space in two areas each having three connected end devices, then a possible Fibre Channel address allocation is: 5:1:1, 5:1:2, 5:1:3, 5:2:1, 5:2:2, and 5:2:3.
The U.S. patent application Ser. No. 10/034,160, filed Dec. 26, 2001, entitled “Methods and Apparatus for Encapsulating a Frame for Transmission in a Storage Area Network”, which application is incorporated herein by reference for all purposes, introduces the concept of a Virtual SAN or “VSAN”. The implementation of a VSAN is based on the concept of dividing the switching fabric of a SAN into logical SANs, each called a VSAN. The properties of each VSAN are similar to a standard SAN. In particular, Fibre Channel identifiers (FCIDs) are assigned per VSAN. This means that a given FCID may be assigned to two different hosts in two different VSANs. Within each VSAN, a frame is forwarded as in any normal SAN, using the FCID.
It is desirable in certain instances to enable communication between different VSANs. For example, a first VSAN may wish to use a disk in a different second VSAN for backing up its own disks. One known solution for enabling end devices in different VSANs to communicate with one another involves the virtualization of the end devices so that there are “local instances” of each end device in each VSAN. See U.S. patent application Ser. No. 10/609,442, filed 26 Jun. 2003, entitled “A Fibre Channel Switch That Enables End Devices in Different Fabrics to Communicate with One Another While Retaining Their Unique Fibre Channel Domain_IDs”, which application is incorporated herein by reference. In general, each device's FCID is propagated to each VSAN so that the device appears to be present in each VSAN. Although this solution works well in several applications, such a mechanism breaks down when an FCID of a device that is to be propagated into a particular VSAN is already assigned to a device already present in the particular VSAN. This duplication of an FCID in a single VSAN would result in an error.
Accordingly, there is a need for improved inter-VSAN routing mechanisms that allow communication between devices that reside in different VSANs.